﻿// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证（版本 2.0）进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动！任何基于本项目二次开发而产生的一切法律纠纷和责任，我们不承担任何责任！

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Admin.NET.Core;
/// <summary>
/// 球员球队年度统计
/// </summary>
[SugarTable(null, "球员球队年度统计")]
[SugarIndex("index_{table}_U", nameof(UserId), OrderByType.Asc)]
[SugarIndex("index_{table}_T", nameof(TeamId), OrderByType.Asc)]
[SugarIndex("index_{table}_Y", nameof(Year), OrderByType.Asc)]
public partial class AppPlayerTeamStatistics : EntityBaseData
{
    /// <summary>
    /// 球员Id
    /// </summary>
    [SugarColumn(ColumnDescription = "球员Id")]
    public long UserId { get; set; }

    /// <summary>
    /// 球队Id
    /// </summary>
    [SugarColumn(ColumnDescription = "球队Id")]
    public long TeamId { get; set; }

    /// <summary>
    /// 年份
    /// </summary>
    [SugarColumn(ColumnDescription = "年份", IsNullable = true)]
    public DateTime? Year { get; set; }

    /// <summary>
    /// 进球数
    /// </summary>
    [SugarColumn(ColumnDescription = "进球数", IsNullable = true)]
    public int? Goals { get; set; } = 0;

    /// <summary>
    /// 助攻数
    /// </summary>
    [SugarColumn(ColumnDescription = "助攻数", IsNullable = true)]
    public int? Assists { get; set; } = 0;

    /// <summary>
    /// 出勤次数
    /// </summary>
    [SugarColumn(ColumnDescription = "出勤次数", IsNullable = true)]
    public int? Attendances { get; set; } = 0;

    /// <summary>
    /// 积分（根据业务逻辑定义）
    /// </summary>
    [SugarColumn(ColumnDescription = "积分", IsNullable = true)]
    public int? Points { get; set; } = 0;

    /// <summary>
    /// 黄牌数
    /// </summary>
    [SugarColumn(ColumnDescription = "黄牌数", IsNullable = true)]
    public int? YellowCards { get; set; } = 0;

    /// <summary>
    /// 红牌数
    /// </summary>
    [SugarColumn(ColumnDescription = "红牌数", IsNullable = true)]
    public int? RedCards { get; set; } = 0;

    /// <summary>
    /// 上场时间（分钟）
    /// </summary>
    [SugarColumn(ColumnDescription = "上场时间（分钟）", IsNullable = true)]
    public int? MinutesPlayed { get; set; } = 0;

    /// <summary>
    /// 射门次数
    /// </summary>
    [SugarColumn(ColumnDescription = "射门次数", IsNullable = true)]
    public int? Shots { get; set; } = 0;

    /// <summary>
    /// 射正次数
    /// </summary>
    [SugarColumn(ColumnDescription = "射正次数", IsNullable = true)]
    public int? ShotsOnTarget { get; set; } = 0;

    /// <summary>
    /// 传球次数
    /// </summary>
    [SugarColumn(ColumnDescription = "传球次数", IsNullable = true)]
    public int? Passes { get; set; } = 0;

    /// <summary>
    /// 传球成功率（百分比）
    /// </summary>
    [SugarColumn(ColumnDescription = "传球成功率", IsNullable = true)]
    public double? PassAccuracy { get; set; } = 0;

    /// <summary>
    /// 关键传球次数
    /// </summary>
    [SugarColumn(ColumnDescription = "关键传球次数", IsNullable = true)]
    public int? KeyPasses { get; set; } = 0;

    /// <summary>
    /// 抢断次数
    /// </summary>
    [SugarColumn(ColumnDescription = "抢断次数", IsNullable = true)]
    public int? Tackles { get; set; } = 0;

    /// <summary>
    /// 拦截次数
    /// </summary>
    [SugarColumn(ColumnDescription = "拦截次数", IsNullable = true)]
    public int? Interceptions { get; set; } = 0;

    /// <summary>
    /// 解围次数
    /// </summary>
    [SugarColumn(ColumnDescription = "解围次数", IsNullable = true)]
    public int? Clearances { get; set; } = 0;

    /// <summary>
    /// 扑救次数（守门员）
    /// </summary>
    [SugarColumn(ColumnDescription = "扑救次数", IsNullable = true)]
    public int? Saves { get; set; } = 0;

    /// <summary>
    /// 扑救成功率（守门员，百分比）
    /// </summary>
    [SugarColumn(ColumnDescription = "扑救成功率", IsNullable = true)]
    public double? SaveAccuracy { get; set; } = 0;

    /// <summary>
    /// 犯规次数
    /// </summary>
    [SugarColumn(ColumnDescription = "犯规次数", IsNullable = true)]
    public int? Fouls { get; set; } = 0;

    /// <summary>
    /// 被犯规次数
    /// </summary>
    [SugarColumn(ColumnDescription = "被犯规次数", IsNullable = true)]
    public int? FoulsDrawn { get; set; } = 0;

    /// <summary>
    /// 越位次数
    /// </summary>
    [SugarColumn(ColumnDescription = "越位次数", IsNullable = true)]
    public int? Offsides { get; set; } = 0;

    /// <summary>
    /// 头球争顶成功次数
    /// </summary>
    [SugarColumn(ColumnDescription = "头球争顶成功次数", IsNullable = true)]
    public int? AerialDuelsWon { get; set; } = 0;

    /// <summary>
    /// 评分（综合评分，如场均评分）
    /// </summary>
    [SugarColumn(ColumnDescription = "评分", IsNullable = true)]
    public double? Rating { get; set; } = 0;

    /// <summary>
    /// 备注
    /// </summary>
    [SugarColumn(ColumnDescription = "备注", Length = 256, IsNullable = true)]
    public string? Remark { get; set; }
}